home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2008 February / PCWFEB08.iso / Software / Freeware / Miro 1.0 / Miro_Installer.exe / xulrunner / python / test / databaseupgradetest.py < prev    next >
Encoding:
Python Source  |  2007-11-12  |  1.3 KB  |  39 lines

  1. """Tests for specific database upgrades."""
  2.  
  3. import tempfile
  4.  
  5. from test.framework import DemocracyTestCase
  6. import databaseupgrade
  7. import feed
  8. import item
  9. import folder
  10. import playlist
  11. import storedatabase
  12.  
  13. class DatabaseUpgradeTest(DemocracyTestCase):
  14.     def makeSavables(self, *objects):
  15.         return [storedatabase.objectToSavable(o) for o in objects]
  16.  
  17.     def testUpgrade23(self):
  18.         pl = playlist.SavedPlaylist(u"foo")
  19.         fold = folder.PlaylistFolder(u"bar")
  20.         fd = feed.Feed(u"http://feed.uk")
  21.         it = item.Item({}, feed_id=fd.id)
  22.         container = item.Item({}, feed_id=fd.id)
  23.         container.isContainerItem = True
  24.         fileContainer = item.FileItem('booya', feed_id=fd.id)
  25.         fileContainer.isContainerItem = True
  26.         pl.addItem(it)
  27.         pl.addItem(fileContainer)
  28.         pl.addItem(container)
  29.         pl.setFolder(fold)
  30.         fold.addItem(it)
  31.         pl.addItem(fileContainer)
  32.         fold.addItem(container)
  33.         savables = self.makeSavables(pl, fold, fd, it, container,
  34.                 fileContainer)
  35.         changed = databaseupgrade.upgrade(savables, 22, 23)
  36.         self.assertEquals(changed, set(savables[0:2]))
  37.         self.assertEquals(savables[0].savedData['item_ids'], [it.id])
  38.         self.assertEquals(savables[1].savedData['item_ids'], [it.id])
  39.